/* Copyright (c) 2004-2024 Peigen.info. All rights reserved. */

package info.peigen.hotpot.component.gateway.dianlan.protocol.passive;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;
import lombok.experimental.SuperBuilder;

/**
 * <b>(DianlanBatteryInsulationResistanceInfo)</b>
 * <p>
 * 电池绝缘电阻信息
 * <pre>
 * 位置（字节/位）     参数定义               参数说明                                    备注
 * 1	            电池厂家                0DH(xx动力)	                             最多容纳255家供应商
 * 2	            电池类型                03H（磷酸铁锂电池）
 * 3	            电池总电压上限           8bit，4V/bit，偏移量：0，电压范围：0V~1016V   0xFF无效
 * 4	            电池总电压下限           8bit，4V/bit，偏移量：0，电压范围：0V~1016V   0xFF无效
 * 6-5	            系统绝缘电阻            16bit，1k/bit，偏移量：0                     0xFFFF无效
 * 7	            高压正极绝缘电阻         8bit，10k/bit，偏移量：0                     0xFF无效
 * 8	            高压负极绝缘电阻         8bit，10k/bit，偏移量：0                     0xFF无效
 * </pre>
 *
 * @author LiDaHai
 * @version 1.0.0
 * @since 2023/1/12
 */
@SuperBuilder
@Data
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
@Accessors(chain = true)
public class DianlanBatteryInsulationResistanceInfo {
    /** 电池厂家 */
    String  batterySupplier;
    /** 电池类型 */
    String  batteryType;
    /** 电池总电压上限,单位V */
    Integer totalVoltageUpperLimit;
    /** 电池总电压下限,单位V */
    Integer totalVoltageLowerLimit;
    /** 系统绝缘电阻,单位kΩ */
    Integer insulationResistance;
    /** 高压正极绝缘电阻,单位kΩ */
    Integer hvPositiveInsulationResistance;
    /** 高压负极绝缘电阻,单位kΩ */
    Integer hvNegativeInsulationResistance;

    public String toString() {
        return "电池厂家：" + batterySupplier + "，" +
                "电池类型：" + "磷酸铁锂电池" + "，" +
                "电池总电压上限：" + totalVoltageUpperLimit + "V" + "，" +
                "电池总电压下限：" + totalVoltageLowerLimit + "V" + "，" +
                "系统绝缘电阻：" + insulationResistance + "kΩ" + "，" +
                "高压正极绝缘电阻" + hvPositiveInsulationResistance + "kΩ" + "，" +
                "高压负极绝缘电阻" + hvNegativeInsulationResistance + "kΩ";
    }
}